/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

镜像
关于主机镜像操作的相关接口

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

#import <Foundation/Foundation.h>
#import <JDCloudOCSDKVm/VmApiModel.h>


@implementation VmDescribeInstanceTemplateRequest
-(id) initWithRegion:(NSString *)regionId
instanceTemplateId:(NSString*)instanceTemplateId { 
    self.regionId = regionId;
    self.instanceTemplateId = instanceTemplateId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceTemplateId:(NSString*)instanceTemplateId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceTemplateId = instanceTemplateId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceTemplateId])
    {
        [result setValue:[self instanceTemplateId] forKey:@"instanceTemplateId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceTemplateId = [dictionary objectForKey:@"instanceTemplateId"];
    return self;
} 

@end
@implementation VmVerifyInstanceTemplateRequest
-(id) initWithRegion:(NSString *)regionId
instanceTemplateId:(NSString*)instanceTemplateId { 
    self.regionId = regionId;
    self.instanceTemplateId = instanceTemplateId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceTemplateId:(NSString*)instanceTemplateId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceTemplateId = instanceTemplateId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceTemplateId])
    {
        [result setValue:[self instanceTemplateId] forKey:@"instanceTemplateId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceTemplateId = [dictionary objectForKey:@"instanceTemplateId"];
    return self;
} 

@end
@implementation VmCreateInstanceTemplateResult
-(id) initWithInstanceTemplateId:(NSString*) instanceTemplateId { 
    self.instanceTemplateId = instanceTemplateId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceTemplateId])
    {
        [result setValue:[self instanceTemplateId] forKey:@"instanceTemplateId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceTemplateId = [dictionary objectForKey:@"instanceTemplateId"];
    return self;
} 

@end
@implementation VmUpdateInstanceTemplateRequest
-(id) initWithRegion:(NSString *)regionId
descriptionValue:(NSString*)descriptionValue
name:(NSString*)name
instanceTemplateId:(NSString*)instanceTemplateId { 
    self.regionId = regionId;
    self.descriptionValue = descriptionValue;
    self.name = name;
    self.instanceTemplateId = instanceTemplateId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
descriptionValue:(NSString*)descriptionValue
name:(NSString*)name
instanceTemplateId:(NSString*)instanceTemplateId { 
    self.regionId = regionId;
    self.version = version;
    self.descriptionValue = descriptionValue;
    self.name = name;
    self.instanceTemplateId = instanceTemplateId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self instanceTemplateId])
    {
        [result setValue:[self instanceTemplateId] forKey:@"instanceTemplateId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.name = [dictionary objectForKey:@"name"];
    self.instanceTemplateId = [dictionary objectForKey:@"instanceTemplateId"];
    return self;
} 

@end
@implementation VmDeleteInstanceTemplateRequest
-(id) initWithRegion:(NSString *)regionId
instanceTemplateId:(NSString*)instanceTemplateId { 
    self.regionId = regionId;
    self.instanceTemplateId = instanceTemplateId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceTemplateId:(NSString*)instanceTemplateId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceTemplateId = instanceTemplateId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceTemplateId])
    {
        [result setValue:[self instanceTemplateId] forKey:@"instanceTemplateId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceTemplateId = [dictionary objectForKey:@"instanceTemplateId"];
    return self;
} 

@end
@implementation VmImportKeypairRequest
-(id) initWithRegion:(NSString *)regionId
keyName:(NSString*)keyName
publicKey:(NSString*)publicKey { 
    self.regionId = regionId;
    self.keyName = keyName;
    self.publicKey = publicKey;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keyName:(NSString*)keyName
publicKey:(NSString*)publicKey { 
    self.regionId = regionId;
    self.version = version;
    self.keyName = keyName;
    self.publicKey = publicKey;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self keyName])
    {
        [result setValue:[self keyName] forKey:@"keyName"];
    }
    if([self publicKey])
    {
        [result setValue:[self publicKey] forKey:@"publicKey"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keyName = [dictionary objectForKey:@"keyName"];
    self.publicKey = [dictionary objectForKey:@"publicKey"];
    return self;
} 

@end
@implementation VmImportKeypairResult
-(id) initWithKeyName:(NSString*) keyName
        keyFingerprint:(NSString*)keyFingerprint { 
    self.keyName = keyName;               
    self.keyFingerprint = keyFingerprint;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self keyName])
    {
        [result setValue:[self keyName] forKey:@"keyName"];
    }
    if([self keyFingerprint])
    {
        [result setValue:[self keyFingerprint] forKey:@"keyFingerprint"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keyName = [dictionary objectForKey:@"keyName"];
    self.keyFingerprint = [dictionary objectForKey:@"keyFingerprint"];
    return self;
} 

@end
@implementation VmDeleteKeypairRequest
-(id) initWithRegion:(NSString *)regionId
keyName:(NSString*)keyName { 
    self.regionId = regionId;
    self.keyName = keyName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keyName:(NSString*)keyName { 
    self.regionId = regionId;
    self.version = version;
    self.keyName = keyName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self keyName])
    {
        [result setValue:[self keyName] forKey:@"keyName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keyName = [dictionary objectForKey:@"keyName"];
    return self;
} 

@end
@implementation VmCreateKeypairResult
-(id) initWithKeyName:(NSString*) keyName
        privateKey:(NSString*)privateKey
        keyFingerprint:(NSString*)keyFingerprint { 
    self.keyName = keyName;               
    self.privateKey = privateKey;               
    self.keyFingerprint = keyFingerprint;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self keyName])
    {
        [result setValue:[self keyName] forKey:@"keyName"];
    }
    if([self privateKey])
    {
        [result setValue:[self privateKey] forKey:@"privateKey"];
    }
    if([self keyFingerprint])
    {
        [result setValue:[self keyFingerprint] forKey:@"keyFingerprint"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keyName = [dictionary objectForKey:@"keyName"];
    self.privateKey = [dictionary objectForKey:@"privateKey"];
    self.keyFingerprint = [dictionary objectForKey:@"keyFingerprint"];
    return self;
} 

@end
@implementation VmCreateKeypairRequest
-(id) initWithRegion:(NSString *)regionId
keyName:(NSString*)keyName { 
    self.regionId = regionId;
    self.keyName = keyName;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
keyName:(NSString*)keyName { 
    self.regionId = regionId;
    self.version = version;
    self.keyName = keyName;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self keyName])
    {
        [result setValue:[self keyName] forKey:@"keyName"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.keyName = [dictionary objectForKey:@"keyName"];
    return self;
} 

@end
@implementation VmRebootInstanceRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmResizeInstanceRequest
-(id) initWithRegion:(NSString *)regionId
instanceType:(NSString*)instanceType
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceType = instanceType;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceType:(NSString*)instanceType
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceType = instanceType;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceType])
    {
        [result setValue:[self instanceType] forKey:@"instanceType"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceType = [dictionary objectForKey:@"instanceType"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmStopInstanceRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmAttachNetworkInterfaceRequest
-(id) initWithRegion:(NSString *)regionId
networkInterfaceId:(NSString*)networkInterfaceId
autoDelete:(NSNumber*)autoDelete
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.networkInterfaceId = networkInterfaceId;
    self.autoDelete = autoDelete;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkInterfaceId:(NSString*)networkInterfaceId
autoDelete:(NSNumber*)autoDelete
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.networkInterfaceId = networkInterfaceId;
    self.autoDelete = autoDelete;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    if([self autoDelete])
    {
        [result setValue:[self autoDelete] forKey:@"autoDelete"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    self.autoDelete = [dictionary objectForKey:@"autoDelete"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmStartInstanceRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmDeleteInstanceRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmAssociateElasticIpRequest
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.elasticIpId = elasticIpId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.elasticIpId = elasticIpId;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmDescribeInstanceRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmDescribeInstanceVncUrlResult
-(id) initWithVncUrl:(NSString*) vncUrl { 
    self.vncUrl = vncUrl;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vncUrl])
    {
        [result setValue:[self vncUrl] forKey:@"vncUrl"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.vncUrl = [dictionary objectForKey:@"vncUrl"];
    return self;
} 

@end
@implementation VmDescribeInstanceVncUrlRequest
-(id) initWithRegion:(NSString *)regionId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmModifyInstancePasswordRequest
-(id) initWithRegion:(NSString *)regionId
password:(NSString*)password
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.password = password;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
password:(NSString*)password
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.password = password;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self password])
    {
        [result setValue:[self password] forKey:@"password"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.password = [dictionary objectForKey:@"password"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmCreateInstancesResult
-(id) initWithInstanceIds:(NSArray<NSString*>*) instanceIds { 
    self.instanceIds = instanceIds;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceIds])
    {
        [result setValue:[self instanceIds] forKey:@"instanceIds"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceIds = [dictionary objectForKey:@"instanceIds"];
    return self;
} 

@end
@implementation VmCreateImageResult
-(id) initWithImageId:(NSString*) imageId { 
    self.imageId = imageId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmAttachDiskRequest
-(id) initWithRegion:(NSString *)regionId
diskId:(NSString*)diskId
deviceName:(NSString*)deviceName
autoDelete:(NSNumber*)autoDelete
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.diskId = diskId;
    self.deviceName = deviceName;
    self.autoDelete = autoDelete;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
diskId:(NSString*)diskId
deviceName:(NSString*)deviceName
autoDelete:(NSNumber*)autoDelete
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.diskId = diskId;
    self.deviceName = deviceName;
    self.autoDelete = autoDelete;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self diskId])
    {
        [result setValue:[self diskId] forKey:@"diskId"];
    }
    if([self deviceName])
    {
        [result setValue:[self deviceName] forKey:@"deviceName"];
    }
    if([self autoDelete])
    {
        [result setValue:[self autoDelete] forKey:@"autoDelete"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.diskId = [dictionary objectForKey:@"diskId"];
    self.deviceName = [dictionary objectForKey:@"deviceName"];
    self.autoDelete = [dictionary objectForKey:@"autoDelete"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmDisassociateElasticIpRequest
-(id) initWithRegion:(NSString *)regionId
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.elasticIpId = elasticIpId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
elasticIpId:(NSString*)elasticIpId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.elasticIpId = elasticIpId;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self elasticIpId])
    {
        [result setValue:[self elasticIpId] forKey:@"elasticIpId"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.elasticIpId = [dictionary objectForKey:@"elasticIpId"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmModifyInstanceAttributeRequest
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmDetachDiskRequest
-(id) initWithRegion:(NSString *)regionId
diskId:(NSString*)diskId
force:(NSNumber*)force
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.diskId = diskId;
    self.force = force;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
diskId:(NSString*)diskId
force:(NSNumber*)force
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.diskId = diskId;
    self.force = force;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self diskId])
    {
        [result setValue:[self diskId] forKey:@"diskId"];
    }
    if([self force])
    {
        [result setValue:[self force] forKey:@"force"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.diskId = [dictionary objectForKey:@"diskId"];
    self.force = [dictionary objectForKey:@"force"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmRebuildInstanceRequest
-(id) initWithRegion:(NSString *)regionId
password:(NSString*)password
imageId:(NSString*)imageId
keyNames:(NSArray<NSString*>*)keyNames
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.password = password;
    self.imageId = imageId;
    self.keyNames = keyNames;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
password:(NSString*)password
imageId:(NSString*)imageId
keyNames:(NSArray<NSString*>*)keyNames
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.password = password;
    self.imageId = imageId;
    self.keyNames = keyNames;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self password])
    {
        [result setValue:[self password] forKey:@"password"];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    if([self keyNames])
    {
        [result setValue:[self keyNames] forKey:@"keyNames"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.password = [dictionary objectForKey:@"password"];
    self.imageId = [dictionary objectForKey:@"imageId"];
    self.keyNames = [dictionary objectForKey:@"keyNames"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmDetachNetworkInterfaceRequest
-(id) initWithRegion:(NSString *)regionId
networkInterfaceId:(NSString*)networkInterfaceId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.networkInterfaceId = networkInterfaceId;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networkInterfaceId:(NSString*)networkInterfaceId
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.networkInterfaceId = networkInterfaceId;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networkInterfaceId])
    {
        [result setValue:[self networkInterfaceId] forKey:@"networkInterfaceId"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.networkInterfaceId = [dictionary objectForKey:@"networkInterfaceId"];
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmDeleteImageRequest
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.imageId = imageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.version = version;
    self.imageId = imageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmCopyImagesRequest
-(id) initWithRegion:(NSString *)regionId
sourceImageIds:(NSArray<NSString*>*)sourceImageIds
destinationRegion:(NSString*)destinationRegion { 
    self.regionId = regionId;
    self.sourceImageIds = sourceImageIds;
    self.destinationRegion = destinationRegion;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
sourceImageIds:(NSArray<NSString*>*)sourceImageIds
destinationRegion:(NSString*)destinationRegion { 
    self.regionId = regionId;
    self.version = version;
    self.sourceImageIds = sourceImageIds;
    self.destinationRegion = destinationRegion;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self sourceImageIds])
    {
        [result setValue:[self sourceImageIds] forKey:@"sourceImageIds"];
    }
    if([self destinationRegion])
    {
        [result setValue:[self destinationRegion] forKey:@"destinationRegion"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.sourceImageIds = [dictionary objectForKey:@"sourceImageIds"];
    self.destinationRegion = [dictionary objectForKey:@"destinationRegion"];
    return self;
} 

@end
@implementation VmReleaseImageRequest
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.imageId = imageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.version = version;
    self.imageId = imageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmImportImageRequest
-(id) initWithRegion:(NSString *)regionId
architecture:(NSString*)architecture
osType:(NSString*)osType
platform:(NSString*)platform
diskFormat:(NSString*)diskFormat
systemDiskSizeGB:(NSNumber*)systemDiskSizeGB
imageUrl:(NSString*)imageUrl
osVersion:(NSString*)osVersion
imageName:(NSString*)imageName
descriptionValue:(NSString*)descriptionValue
forceImport:(NSNumber*)forceImport
clientToken:(NSString*)clientToken { 
    self.regionId = regionId;
    self.architecture = architecture;
    self.osType = osType;
    self.platform = platform;
    self.diskFormat = diskFormat;
    self.systemDiskSizeGB = systemDiskSizeGB;
    self.imageUrl = imageUrl;
    self.osVersion = osVersion;
    self.imageName = imageName;
    self.descriptionValue = descriptionValue;
    self.forceImport = forceImport;
    self.clientToken = clientToken;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
architecture:(NSString*)architecture
osType:(NSString*)osType
platform:(NSString*)platform
diskFormat:(NSString*)diskFormat
systemDiskSizeGB:(NSNumber*)systemDiskSizeGB
imageUrl:(NSString*)imageUrl
osVersion:(NSString*)osVersion
imageName:(NSString*)imageName
descriptionValue:(NSString*)descriptionValue
forceImport:(NSNumber*)forceImport
clientToken:(NSString*)clientToken { 
    self.regionId = regionId;
    self.version = version;
    self.architecture = architecture;
    self.osType = osType;
    self.platform = platform;
    self.diskFormat = diskFormat;
    self.systemDiskSizeGB = systemDiskSizeGB;
    self.imageUrl = imageUrl;
    self.osVersion = osVersion;
    self.imageName = imageName;
    self.descriptionValue = descriptionValue;
    self.forceImport = forceImport;
    self.clientToken = clientToken;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self architecture])
    {
        [result setValue:[self architecture] forKey:@"architecture"];
    }
    if([self osType])
    {
        [result setValue:[self osType] forKey:@"osType"];
    }
    if([self platform])
    {
        [result setValue:[self platform] forKey:@"platform"];
    }
    if([self diskFormat])
    {
        [result setValue:[self diskFormat] forKey:@"diskFormat"];
    }
    if([self systemDiskSizeGB])
    {
        [result setValue:[self systemDiskSizeGB] forKey:@"systemDiskSizeGB"];
    }
    if([self imageUrl])
    {
        [result setValue:[self imageUrl] forKey:@"imageUrl"];
    }
    if([self osVersion])
    {
        [result setValue:[self osVersion] forKey:@"osVersion"];
    }
    if([self imageName])
    {
        [result setValue:[self imageName] forKey:@"imageName"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self forceImport])
    {
        [result setValue:[self forceImport] forKey:@"forceImport"];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.architecture = [dictionary objectForKey:@"architecture"];
    self.osType = [dictionary objectForKey:@"osType"];
    self.platform = [dictionary objectForKey:@"platform"];
    self.diskFormat = [dictionary objectForKey:@"diskFormat"];
    self.systemDiskSizeGB = [dictionary objectForKey:@"systemDiskSizeGB"];
    self.imageUrl = [dictionary objectForKey:@"imageUrl"];
    self.osVersion = [dictionary objectForKey:@"osVersion"];
    self.imageName = [dictionary objectForKey:@"imageName"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.forceImport = [dictionary objectForKey:@"forceImport"];
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    return self;
} 

@end
@implementation VmModifyImageAttributeRequest
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.imageId = imageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.version = version;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.imageId = imageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmDescribeImageMembersRequest
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.imageId = imageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.version = version;
    self.imageId = imageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmDescribeImagesRequest
-(id) initWithRegion:(NSString *)regionId
imageSource:(NSString*)imageSource
platform:(NSString*)platform
ids:(NSArray<NSString*>*)ids
rootDeviceType:(NSString*)rootDeviceType
launchPermission:(NSString*)launchPermission
status:(NSString*)status
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize { 
    self.regionId = regionId;
    self.imageSource = imageSource;
    self.platform = platform;
    self.ids = ids;
    self.rootDeviceType = rootDeviceType;
    self.launchPermission = launchPermission;
    self.status = status;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageSource:(NSString*)imageSource
platform:(NSString*)platform
ids:(NSArray<NSString*>*)ids
rootDeviceType:(NSString*)rootDeviceType
launchPermission:(NSString*)launchPermission
status:(NSString*)status
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize { 
    self.regionId = regionId;
    self.version = version;
    self.imageSource = imageSource;
    self.platform = platform;
    self.ids = ids;
    self.rootDeviceType = rootDeviceType;
    self.launchPermission = launchPermission;
    self.status = status;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self imageSource])
    {
        [result setValue:[self imageSource] forKey:@"imageSource"];
    }
    if([self platform])
    {
        [result setValue:[self platform] forKey:@"platform"];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    if([self rootDeviceType])
    {
        [result setValue:[self rootDeviceType] forKey:@"rootDeviceType"];
    }
    if([self launchPermission])
    {
        [result setValue:[self launchPermission] forKey:@"launchPermission"];
    }
    if([self status])
    {
        [result setValue:[self status] forKey:@"status"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.imageSource = [dictionary objectForKey:@"imageSource"];
    self.platform = [dictionary objectForKey:@"platform"];
    self.ids = [dictionary objectForKey:@"ids"];
    self.rootDeviceType = [dictionary objectForKey:@"rootDeviceType"];
    self.launchPermission = [dictionary objectForKey:@"launchPermission"];
    self.status = [dictionary objectForKey:@"status"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    return self;
} 

@end
@implementation VmDescribeImageRequest
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.imageId = imageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.version = version;
    self.imageId = imageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmDescribeImageMembersResult
-(id) initWithPins:(NSArray<NSString*>*) pins { 
    self.pins = pins;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self pins])
    {
        [result setValue:[self pins] forKey:@"pins"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pins = [dictionary objectForKey:@"pins"];
    return self;
} 

@end
@implementation VmDescribeImageConstraintsRequest
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.imageId = imageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.version = version;
    self.imageId = imageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmImageTasksRequest
-(id) initWithRegion:(NSString *)regionId
taskAction:(NSString*)taskAction
taskIds:(NSArray<NSNumber*>*)taskIds
taskStatus:(NSString*)taskStatus
startTime:(NSString*)startTime
endTime:(NSString*)endTime
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize { 
    self.regionId = regionId;
    self.taskAction = taskAction;
    self.taskIds = taskIds;
    self.taskStatus = taskStatus;
    self.startTime = startTime;
    self.endTime = endTime;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
taskAction:(NSString*)taskAction
taskIds:(NSArray<NSNumber*>*)taskIds
taskStatus:(NSString*)taskStatus
startTime:(NSString*)startTime
endTime:(NSString*)endTime
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize { 
    self.regionId = regionId;
    self.version = version;
    self.taskAction = taskAction;
    self.taskIds = taskIds;
    self.taskStatus = taskStatus;
    self.startTime = startTime;
    self.endTime = endTime;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self taskAction])
    {
        [result setValue:[self taskAction] forKey:@"taskAction"];
    }
    if([self taskIds])
    {
        [result setValue:[self taskIds] forKey:@"taskIds"];
    }
    if([self taskStatus])
    {
        [result setValue:[self taskStatus] forKey:@"taskStatus"];
    }
    if([self startTime])
    {
        [result setValue:[self startTime] forKey:@"startTime"];
    }
    if([self endTime])
    {
        [result setValue:[self endTime] forKey:@"endTime"];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.taskAction = [dictionary objectForKey:@"taskAction"];
    self.taskIds = [dictionary objectForKey:@"taskIds"];
    self.taskStatus = [dictionary objectForKey:@"taskStatus"];
    self.startTime = [dictionary objectForKey:@"startTime"];
    self.endTime = [dictionary objectForKey:@"endTime"];
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    return self;
} 

@end
@implementation VmImportImageResult
-(id) initWithImageId:(NSString*) imageId
        importTaskId:(NSNumber*)importTaskId { 
    self.imageId = imageId;               
    self.importTaskId = importTaskId;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    if([self importTaskId])
    {
        [result setValue:[self importTaskId] forKey:@"importTaskId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.imageId = [dictionary objectForKey:@"imageId"];
    self.importTaskId = [dictionary objectForKey:@"importTaskId"];
    return self;
} 

@end
@implementation VmUnReleaseImageRequest
-(id) initWithRegion:(NSString *)regionId
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.imageId = imageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.version = version;
    self.imageId = imageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmDescribeImageConstraintsBatchRequest
-(id) initWithRegion:(NSString *)regionId
ids:(NSArray<NSString*>*)ids { 
    self.regionId = regionId;
    self.ids = ids;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
ids:(NSArray<NSString*>*)ids { 
    self.regionId = regionId;
    self.version = version;
    self.ids = ids;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self ids])
    {
        [result setValue:[self ids] forKey:@"ids"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.ids = [dictionary objectForKey:@"ids"];
    return self;
} 

@end
@implementation VmUnShareImageRequest
-(id) initWithRegion:(NSString *)regionId
pins:(NSArray<NSString*>*)pins
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.pins = pins;
    self.imageId = imageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pins:(NSArray<NSString*>*)pins
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.version = version;
    self.pins = pins;
    self.imageId = imageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pins])
    {
        [result setValue:[self pins] forKey:@"pins"];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pins = [dictionary objectForKey:@"pins"];
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmShareImageRequest
-(id) initWithRegion:(NSString *)regionId
pins:(NSArray<NSString*>*)pins
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.pins = pins;
    self.imageId = imageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pins:(NSArray<NSString*>*)pins
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.version = version;
    self.pins = pins;
    self.imageId = imageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pins])
    {
        [result setValue:[self pins] forKey:@"pins"];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pins = [dictionary objectForKey:@"pins"];
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmUpdateInstanceTemplateResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmUpdateInstanceTemplateResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmUpdateInstanceTemplateResult* result = [[VmUpdateInstanceTemplateResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmUpdateInstanceTemplateResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeInstanceTemplateResult
-(id) initWithInstanceTemplate:(InstanceTemplate*) instanceTemplate { 
    self.instanceTemplate = instanceTemplate;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceTemplate])
    {
        [result setValue:[[self instanceTemplate] dictionary]forKey:@"instanceTemplate"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceTemplate = [[InstanceTemplate alloc]initWithDic:[dictionary objectForKey:@"instanceTemplate"]];
    return self;
} 

@end
@implementation VmDescribeInstanceTemplatesRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation VmDeleteInstanceTemplateResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmDeleteInstanceTemplateResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDeleteInstanceTemplateResult* result = [[VmDeleteInstanceTemplateResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDeleteInstanceTemplateResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmCreateInstanceTemplateRequest
-(id) initWithRegion:(NSString *)regionId
instanceTemplateData:(InstanceTemplateSpec*)instanceTemplateData
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.instanceTemplateData = instanceTemplateData;
    self.name = name;
    self.descriptionValue = descriptionValue;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceTemplateData:(InstanceTemplateSpec*)instanceTemplateData
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue { 
    self.regionId = regionId;
    self.version = version;
    self.instanceTemplateData = instanceTemplateData;
    self.name = name;
    self.descriptionValue = descriptionValue;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceTemplateData])
    {
        [result setValue:[[self instanceTemplateData] dictionary]forKey:@"instanceTemplateData"];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceTemplateData = [[InstanceTemplateSpec alloc]initWithDic:[dictionary objectForKey:@"instanceTemplateData"]];
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    return self;
} 

@end
@implementation VmVerifyInstanceTemplateResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmCreateInstanceTemplateResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmCreateInstanceTemplateResult* result = [[VmCreateInstanceTemplateResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmCreateInstanceTemplateResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeInstanceTemplatesResult
-(id) initWithInstanceTemplates:(NSArray<InstanceTemplate*>*) instanceTemplates
        totalCount:(NSNumber*)totalCount { 
    self.instanceTemplates = instanceTemplates;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceTemplates])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self instanceTemplates] count]; i++) {
            InstanceTemplate* item = [[self instanceTemplates] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"instanceTemplates"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* instanceTemplatesArray = [dictionary objectForKey:@"instanceTemplates"];
    if(instanceTemplatesArray&&![instanceTemplatesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [instanceTemplatesArray count];i++)
        {
        InstanceTemplate* item = [[InstanceTemplate alloc]initWithDic:[instanceTemplatesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.instanceTemplates = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation VmDescribeInstanceTemplatesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeInstanceTemplatesResult* result = [[VmDescribeInstanceTemplatesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeInstanceTemplatesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmVerifyInstanceTemplateResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmVerifyInstanceTemplateResult* result = [[VmVerifyInstanceTemplateResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmVerifyInstanceTemplateResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmDescribeInstanceTemplateResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeInstanceTemplateResult* result = [[VmDescribeInstanceTemplateResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeInstanceTemplateResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeQuotasRequest
-(id) initWithRegion:(NSString *)regionId
filters:(NSArray<Filter*>*)filters
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.filters = filters;
    self.imageId = imageId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
filters:(NSArray<Filter*>*)filters
imageId:(NSString*)imageId { 
    self.regionId = regionId;
    self.version = version;
    self.filters = filters;
    self.imageId = imageId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    if([self imageId])
    {
        [result setValue:[self imageId] forKey:@"imageId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    self.imageId = [dictionary objectForKey:@"imageId"];
    return self;
} 

@end
@implementation VmDescribeQuotasResult
-(id) initWithQuotas:(NSArray<VmQuota*>*) quotas { 
    self.quotas = quotas;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self quotas])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self quotas] count]; i++) {
            VmQuota* item = [[self quotas] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"quotas"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* quotasArray = [dictionary objectForKey:@"quotas"];
    if(quotasArray&&![quotasArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [quotasArray count];i++)
        {
        VmQuota* item = [[VmQuota alloc]initWithDic:[quotasArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.quotas = propertyArray;
    }
    return self;
} 

@end
  
@implementation VmDescribeQuotasResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeQuotasResult* result = [[VmDescribeQuotasResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeQuotasResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeInstanceTypesResult
-(id) initWithInstanceTypes:(NSArray<InstanceType*>*) instanceTypes
        specificInstanceTypes:(NSArray<InstanceType*>*)specificInstanceTypes
        totalCount:(NSNumber*)totalCount { 
    self.instanceTypes = instanceTypes;               
    self.specificInstanceTypes = specificInstanceTypes;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceTypes])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self instanceTypes] count]; i++) {
            InstanceType* item = [[self instanceTypes] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"instanceTypes"];
    }
    if([self specificInstanceTypes])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self specificInstanceTypes] count]; i++) {
            InstanceType* item = [[self specificInstanceTypes] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"specificInstanceTypes"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* instanceTypesArray = [dictionary objectForKey:@"instanceTypes"];
    if(instanceTypesArray&&![instanceTypesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [instanceTypesArray count];i++)
        {
        InstanceType* item = [[InstanceType alloc]initWithDic:[instanceTypesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.instanceTypes = propertyArray;
    }
    NSArray* specificInstanceTypesArray = [dictionary objectForKey:@"specificInstanceTypes"];
    if(specificInstanceTypesArray&&![specificInstanceTypesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [specificInstanceTypesArray count];i++)
        {
        InstanceType* item = [[InstanceType alloc]initWithDic:[specificInstanceTypesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.specificInstanceTypes = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation VmDescribeInstanceTypesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeInstanceTypesResult* result = [[VmDescribeInstanceTypesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeInstanceTypesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeInstanceTypesRequest
-(id) initWithRegion:(NSString *)regionId
serviceName:(NSString*)serviceName
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.serviceName = serviceName;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
serviceName:(NSString*)serviceName
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.serviceName = serviceName;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self serviceName])
    {
        [result setValue:[self serviceName] forKey:@"serviceName"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.serviceName = [dictionary objectForKey:@"serviceName"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation VmDescribeKeypairsRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
  
@implementation VmImportKeypairResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmImportKeypairResult* result = [[VmImportKeypairResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmImportKeypairResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeKeypairsResult
-(id) initWithKeypairs:(NSArray<Keypair*>*) keypairs
        totalCount:(NSNumber*)totalCount { 
    self.keypairs = keypairs;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self keypairs])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self keypairs] count]; i++) {
            Keypair* item = [[self keypairs] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"keypairs"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* keypairsArray = [dictionary objectForKey:@"keypairs"];
    if(keypairsArray&&![keypairsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [keypairsArray count];i++)
        {
        Keypair* item = [[Keypair alloc]initWithDic:[keypairsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.keypairs = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation VmDeleteKeypairResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmDeleteKeypairResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDeleteKeypairResult* result = [[VmDeleteKeypairResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDeleteKeypairResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmCreateKeypairResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmCreateKeypairResult* result = [[VmCreateKeypairResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmCreateKeypairResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmDescribeKeypairsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeKeypairsResult* result = [[VmDescribeKeypairsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeKeypairsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeInstanceResult
-(id) initWithInstance:(Instance*) instance { 
    self.instance = instance;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instance])
    {
        [result setValue:[[self instance] dictionary]forKey:@"instance"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instance = [[Instance alloc]initWithDic:[dictionary objectForKey:@"instance"]];
    return self;
} 

@end
  
@implementation VmDescribeInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeInstanceResult* result = [[VmDescribeInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmDescribeInstanceVncUrlResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeInstanceVncUrlResult* result = [[VmDescribeInstanceVncUrlResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeInstanceVncUrlResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeInstanceStatusResult
-(id) initWithInstanceStatuses:(NSArray<InstanceStatus*>*) instanceStatuses
        totalCount:(NSNumber*)totalCount { 
    self.instanceStatuses = instanceStatuses;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instanceStatuses])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self instanceStatuses] count]; i++) {
            InstanceStatus* item = [[self instanceStatuses] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"instanceStatuses"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* instanceStatusesArray = [dictionary objectForKey:@"instanceStatuses"];
    if(instanceStatusesArray&&![instanceStatusesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [instanceStatusesArray count];i++)
        {
        InstanceStatus* item = [[InstanceStatus alloc]initWithDic:[instanceStatusesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.instanceStatuses = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation VmModifyInstanceDiskAttributeRequest
-(id) initWithRegion:(NSString *)regionId
dataDisks:(NSArray<InstanceDiskAttribute*>*)dataDisks
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.dataDisks = dataDisks;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
dataDisks:(NSArray<InstanceDiskAttribute*>*)dataDisks
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.dataDisks = dataDisks;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self dataDisks])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self dataDisks] count]; i++) {
            InstanceDiskAttribute* item = [[self dataDisks] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"dataDisks"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* dataDisksArray = [dictionary objectForKey:@"dataDisks"];
    if(dataDisksArray&&![dataDisksArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataDisksArray count];i++)
        {
        InstanceDiskAttribute* item = [[InstanceDiskAttribute alloc]initWithDic:[dataDisksArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.dataDisks = propertyArray;
    }
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmResizeInstanceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VmModifyInstanceAttributeResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmCreateInstancesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmCreateInstancesResult* result = [[VmCreateInstancesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmCreateInstancesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmAttachNetworkInterfaceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmAttachNetworkInterfaceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmAttachNetworkInterfaceResult* result = [[VmAttachNetworkInterfaceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmAttachNetworkInterfaceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeInstancesResult
-(id) initWithInstances:(NSArray<Instance*>*) instances
        totalCount:(NSNumber*)totalCount { 
    self.instances = instances;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instances])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self instances] count]; i++) {
            Instance* item = [[self instances] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"instances"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* instancesArray = [dictionary objectForKey:@"instances"];
    if(instancesArray&&![instancesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [instancesArray count];i++)
        {
        Instance* item = [[Instance alloc]initWithDic:[instancesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.instances = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
@implementation VmDetachDiskResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmDetachDiskResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDetachDiskResult* result = [[VmDetachDiskResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDetachDiskResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeInstancesRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
  
@implementation VmResizeInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmResizeInstanceResult* result = [[VmResizeInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmResizeInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDeleteInstanceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmDeleteInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDeleteInstanceResult* result = [[VmDeleteInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDeleteInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmModifyInstanceDiskAttributeResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmModifyInstanceDiskAttributeResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmModifyInstanceDiskAttributeResult* result = [[VmModifyInstanceDiskAttributeResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmModifyInstanceDiskAttributeResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmAssociateElasticIpResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmAssociateElasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmAssociateElasticIpResult* result = [[VmAssociateElasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmAssociateElasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDetachNetworkInterfaceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmDetachNetworkInterfaceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDetachNetworkInterfaceResult* result = [[VmDetachNetworkInterfaceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDetachNetworkInterfaceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmStopInstanceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmStopInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmStopInstanceResult* result = [[VmStopInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmStopInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeInstancePrivateIpAddressRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation VmDisassociateElasticIpResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmCreateImageResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmCreateImageResult* result = [[VmCreateImageResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmCreateImageResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmModifyInstanceNetworkAttributeResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmDescribeInstancesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeInstancesResult* result = [[VmDescribeInstancesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeInstancesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmStartInstanceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VmAttachDiskResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmAttachDiskResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmAttachDiskResult* result = [[VmAttachDiskResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmAttachDiskResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmStartInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmStartInstanceResult* result = [[VmStartInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmStartInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmCreateInstancesRequest
-(id) initWithRegion:(NSString *)regionId
instanceSpec:(InstanceSpec*)instanceSpec
maxCount:(NSNumber*)maxCount
clientToken:(NSString*)clientToken { 
    self.regionId = regionId;
    self.instanceSpec = instanceSpec;
    self.maxCount = maxCount;
    self.clientToken = clientToken;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceSpec:(InstanceSpec*)instanceSpec
maxCount:(NSNumber*)maxCount
clientToken:(NSString*)clientToken { 
    self.regionId = regionId;
    self.version = version;
    self.instanceSpec = instanceSpec;
    self.maxCount = maxCount;
    self.clientToken = clientToken;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self instanceSpec])
    {
        [result setValue:[[self instanceSpec] dictionary]forKey:@"instanceSpec"];
    }
    if([self maxCount])
    {
        [result setValue:[self maxCount] forKey:@"maxCount"];
    }
    if([self clientToken])
    {
        [result setValue:[self clientToken] forKey:@"clientToken"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.instanceSpec = [[InstanceSpec alloc]initWithDic:[dictionary objectForKey:@"instanceSpec"]];
    self.maxCount = [dictionary objectForKey:@"maxCount"];
    self.clientToken = [dictionary objectForKey:@"clientToken"];
    return self;
} 

@end
@implementation VmCreateImageRequest
-(id) initWithRegion:(NSString *)regionId
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
dataDisks:(NSArray<InstanceDiskAttachmentSpec*>*)dataDisks
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.dataDisks = dataDisks;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
name:(NSString*)name
descriptionValue:(NSString*)descriptionValue
dataDisks:(NSArray<InstanceDiskAttachmentSpec*>*)dataDisks
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.name = name;
    self.descriptionValue = descriptionValue;
    self.dataDisks = dataDisks;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self name])
    {
        [result setValue:[self name] forKey:@"name"];
    }
    if([self descriptionValue])
    {
        [result setValue:[self descriptionValue] forKey:@"description"];
    }
    if([self dataDisks])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self dataDisks] count]; i++) {
            InstanceDiskAttachmentSpec* item = [[self dataDisks] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"dataDisks"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.name = [dictionary objectForKey:@"name"];
    self.descriptionValue = [dictionary objectForKey:@"description"];
    NSArray* dataDisksArray = [dictionary objectForKey:@"dataDisks"];
    if(dataDisksArray&&![dataDisksArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [dataDisksArray count];i++)
        {
        InstanceDiskAttachmentSpec* item = [[InstanceDiskAttachmentSpec alloc]initWithDic:[dataDisksArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.dataDisks = propertyArray;
    }
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
@implementation VmDescribeInstanceStatusRequest
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters { 
    self.regionId = regionId;
    self.version = version;
    self.pageNumber = pageNumber;
    self.pageSize = pageSize;
    self.filters = filters;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self pageNumber])
    {
        [result setValue:[self pageNumber] forKey:@"pageNumber"];
    }
    if([self pageSize])
    {
        [result setValue:[self pageSize] forKey:@"pageSize"];
    }
    if([self filters])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self filters] count]; i++) {
            Filter* item = [[self filters] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"filters"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.pageNumber = [dictionary objectForKey:@"pageNumber"];
    self.pageSize = [dictionary objectForKey:@"pageSize"];
    NSArray* filtersArray = [dictionary objectForKey:@"filters"];
    if(filtersArray&&![filtersArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [filtersArray count];i++)
        {
        Filter* item = [[Filter alloc]initWithDic:[filtersArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.filters = propertyArray;
    }
    return self;
} 

@end
@implementation VmRebootInstanceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VmRebuildInstanceResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmRebootInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmRebootInstanceResult* result = [[VmRebootInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmRebootInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmModifyInstanceNetworkAttributeRequest
-(id) initWithRegion:(NSString *)regionId
networks:(NSArray<InstanceNetworkAttribute*>*)networks
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.networks = networks;
    self.instanceId = instanceId;
    return self;
}

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
networks:(NSArray<InstanceNetworkAttribute*>*)networks
instanceId:(NSString*)instanceId { 
    self.regionId = regionId;
    self.version = version;
    self.networks = networks;
    self.instanceId = instanceId;
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    NSMutableDictionary *superObjectDic = [super dictionary];
    if(superObjectDic && [superObjectDic count]>0)
    {
        [result addEntriesFromDictionary:superObjectDic];
    }
    if([self networks])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self networks] count]; i++) {
            InstanceNetworkAttribute* item = [[self networks] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"networks"];
    }
    if([self instanceId])
    {
        [result setValue:[self instanceId] forKey:@"instanceId"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* networksArray = [dictionary objectForKey:@"networks"];
    if(networksArray&&![networksArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [networksArray count];i++)
        {
        InstanceNetworkAttribute* item = [[InstanceNetworkAttribute alloc]initWithDic:[networksArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.networks = propertyArray;
    }
    self.instanceId = [dictionary objectForKey:@"instanceId"];
    return self;
} 

@end
  
@implementation VmDescribeInstanceStatusResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeInstanceStatusResult* result = [[VmDescribeInstanceStatusResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeInstanceStatusResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmDisassociateElasticIpResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDisassociateElasticIpResult* result = [[VmDisassociateElasticIpResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDisassociateElasticIpResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmRebuildInstanceResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmRebuildInstanceResult* result = [[VmRebuildInstanceResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmRebuildInstanceResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmModifyInstanceAttributeResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmModifyInstanceAttributeResult* result = [[VmModifyInstanceAttributeResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmModifyInstanceAttributeResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeInstancePrivateIpAddressResult
-(id) initWithInstancePrivateIpAddress:(NSArray<InstancePrivateIpAddress*>*) instancePrivateIpAddress
        totalCount:(NSNumber*)totalCount { 
    self.instancePrivateIpAddress = instancePrivateIpAddress;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self instancePrivateIpAddress])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self instancePrivateIpAddress] count]; i++) {
            InstancePrivateIpAddress* item = [[self instancePrivateIpAddress] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"instancePrivateIpAddress"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* instancePrivateIpAddressArray = [dictionary objectForKey:@"instancePrivateIpAddress"];
    if(instancePrivateIpAddressArray&&![instancePrivateIpAddressArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [instancePrivateIpAddressArray count];i++)
        {
        InstancePrivateIpAddress* item = [[InstancePrivateIpAddress alloc]initWithDic:[instancePrivateIpAddressArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.instancePrivateIpAddress = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation VmDescribeInstancePrivateIpAddressResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeInstancePrivateIpAddressResult* result = [[VmDescribeInstancePrivateIpAddressResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeInstancePrivateIpAddressResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmModifyInstancePasswordResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmModifyInstanceNetworkAttributeResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmModifyInstanceNetworkAttributeResult* result = [[VmModifyInstanceNetworkAttributeResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmModifyInstanceNetworkAttributeResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmModifyInstancePasswordResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmModifyInstancePasswordResult* result = [[VmModifyInstancePasswordResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmModifyInstancePasswordResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmImportImageResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmImportImageResult* result = [[VmImportImageResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmImportImageResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeImageConstraintsResult
-(id) initWithImageConstraints:(ImageConstraint*) imageConstraints { 
    self.imageConstraints = imageConstraints;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self imageConstraints])
    {
        [result setValue:[[self imageConstraints] dictionary]forKey:@"imageConstraints"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.imageConstraints = [[ImageConstraint alloc]initWithDic:[dictionary objectForKey:@"imageConstraints"]];
    return self;
} 

@end
  
@implementation VmDescribeImageConstraintsResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeImageConstraintsResult* result = [[VmDescribeImageConstraintsResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeImageConstraintsResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmCopyImagesResult
-(id) initWithCopyImages:(NSArray<CopyImage*>*) vmCopyImages { 
    self.vmCopyImages = vmCopyImages;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self vmCopyImages])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self vmCopyImages] count]; i++) {
            CopyImage* item = [[self vmCopyImages] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"copyImages"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* vmCopyImagesArray = [dictionary objectForKey:@"copyImages"];
    if(vmCopyImagesArray&&![vmCopyImagesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [vmCopyImagesArray count];i++)
        {
        CopyImage* item = [[CopyImage alloc]initWithDic:[vmCopyImagesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.vmCopyImages = propertyArray;
    }
    return self;
} 

@end
  
@implementation VmCopyImagesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmCopyImagesResult* result = [[VmCopyImagesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmCopyImagesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmShareImageResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VmDescribeImageResult
-(id) initWithImage:(Image*) image { 
    self.image = image;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self image])
    {
        [result setValue:[[self image] dictionary]forKey:@"image"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    self.image = [[Image alloc]initWithDic:[dictionary objectForKey:@"image"]];
    return self;
} 

@end
  
@implementation VmDescribeImageResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeImageResult* result = [[VmDescribeImageResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeImageResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmImageTasksResult
-(id) initWithTaskSet:(NSArray<TaskInfo*>*) taskSet
        totalCount:(NSNumber*)totalCount { 
    self.taskSet = taskSet;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self taskSet])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self taskSet] count]; i++) {
            TaskInfo* item = [[self taskSet] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"taskSet"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* taskSetArray = [dictionary objectForKey:@"taskSet"];
    if(taskSetArray&&![taskSetArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [taskSetArray count];i++)
        {
        TaskInfo* item = [[TaskInfo alloc]initWithDic:[taskSetArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.taskSet = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation VmImageTasksResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmImageTasksResult* result = [[VmImageTasksResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmImageTasksResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeImagesResult
-(id) initWithImages:(NSArray<Image*>*) images
        totalCount:(NSNumber*)totalCount { 
    self.images = images;               
    self.totalCount = totalCount;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self images])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self images] count]; i++) {
            Image* item = [[self images] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"images"];
    }
    if([self totalCount])
    {
        [result setValue:[self totalCount] forKey:@"totalCount"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* imagesArray = [dictionary objectForKey:@"images"];
    if(imagesArray&&![imagesArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [imagesArray count];i++)
        {
        Image* item = [[Image alloc]initWithDic:[imagesArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.images = propertyArray;
    }
    self.totalCount = [dictionary objectForKey:@"totalCount"];
    return self;
} 

@end
  
@implementation VmDescribeImagesResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeImagesResult* result = [[VmDescribeImagesResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeImagesResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmUnReleaseImageResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmUnReleaseImageResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmUnReleaseImageResult* result = [[VmUnReleaseImageResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmUnReleaseImageResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDescribeImageConstraintsBatchResult
-(id) initWithImageConstraints:(NSArray<ImageConstraint*>*) imageConstraints { 
    self.imageConstraints = imageConstraints;               
    return self;
}
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    if([self imageConstraints])
    {
            NSMutableArray<NSDictionary*>* arrayDic  = [[NSMutableArray alloc] init];
            for (int i =0 ; i< [[self imageConstraints] count]; i++) {
            ImageConstraint* item = [[self imageConstraints] objectAtIndex:i];
            [arrayDic addObject:[item dictionary]];
        }
        [result setValue:arrayDic forKey:@"imageConstraints"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    NSArray* imageConstraintsArray = [dictionary objectForKey:@"imageConstraints"];
    if(imageConstraintsArray&&![imageConstraintsArray isKindOfClass:[NSNull class]])
    {
        NSMutableArray* propertyArray = [[NSMutableArray alloc]init];
        for(int i = 0 ; i< [imageConstraintsArray count];i++)
        {
        ImageConstraint* item = [[ImageConstraint alloc]initWithDic:[imageConstraintsArray objectAtIndex:i]];
            if(item)
            {
            [propertyArray addObject:item];
            }
        }
        self.imageConstraints = propertyArray;
    }
    return self;
} 

@end
  
@implementation VmDescribeImageConstraintsBatchResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeImageConstraintsBatchResult* result = [[VmDescribeImageConstraintsBatchResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeImageConstraintsBatchResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmDeleteImageResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmDeleteImageResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDeleteImageResult* result = [[VmDeleteImageResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDeleteImageResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmReleaseImageResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
@implementation VmModifyImageAttributeResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmModifyImageAttributeResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmModifyImageAttributeResult* result = [[VmModifyImageAttributeResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmModifyImageAttributeResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmShareImageResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmShareImageResult* result = [[VmShareImageResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmShareImageResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
@implementation VmUnShareImageResult
-(NSMutableDictionary*) dictionary{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init];
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary{
    return self;
} 

@end
  
@implementation VmUnShareImageResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmUnShareImageResult* result = [[VmUnShareImageResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmUnShareImageResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmReleaseImageResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmReleaseImageResult* result = [[VmReleaseImageResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmReleaseImageResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
  
@implementation VmDescribeImageMembersResponse
-(NSMutableDictionary*) dictionary
{
    NSMutableDictionary* result = [[NSMutableDictionary alloc] init]; 
    if([self requestId])
    {
        [result setValue:[self requestId] forKey:@"requestId"];
    } 
    if([self result])
    {
        
        [result setValue:[[self result] dictionary] forKey:@"result"];
    }
    if([self error])
    {
        
        [result setValue:[[self error] dictionary] forKey:@"error"];
    }
    return result;
}

-(id) initWithDic:(NSDictionary*)dictionary
{
    
    self.requestId = [dictionary objectForKey:@"requestId"];
VmDescribeImageMembersResult* result = [[VmDescribeImageMembersResult alloc]initWithDic:[dictionary objectForKey:@"result"]];
    self.result = result;
    ServiceError* error = [[ServiceError alloc]initWithDic:[dictionary objectForKey:@"error"]];
    self.error = error;
    return self;
}

-(id) initWithRequestId:(NSString*) requestId
                  error:(ServiceError*) error
                 result:(VmDescribeImageMembersResult*) result
{
    self.error = error;
    self.result =result;
    self.requestId = requestId;
    return self;
}

@end
 
